package site.jlopen.service.intf.project;

import java.util.List;

import site.jlopen.domain.project.event.KusciaProjectEvent;
import site.jlopen.domain.project.event.KusciaProjectFlowEvent;
import site.jlopen.entity.BaseResponse;
import site.jlopen.entity.req.ProjectReq;
import site.jlopen.entity.vo.project.ProjectInvite;

public interface ProjectService {

	BaseResponse<String> create(Long userId, ProjectReq req);

	List<KusciaProjectEvent> list(Long userId);
	
	KusciaProjectEvent projectInfo(Long projectId);

	List<ProjectInvite> inviteList(Long projectId);

	BaseResponse<String> finish(Long projectId);

	BaseResponse<String> changeInvite(Long inviteId);

	BaseResponse<String> clearing(Long projectId);

	List<KusciaProjectFlowEvent> getFlows(Long projectId);

	BaseResponse<String> removeFlow(Long flowId);

	BaseResponse<String> saveFlow(Long projectId, String flowTitle);

	BaseResponse<String> saveReadData(Long projectId, Long flowId, Long nodeId, Long dataId);

}
